import Vue from 'vue'
import App from './App.vue'
import ElementUI from 'element-ui';
import 'element-ui/lib/theme-chalk/index.css';
import * as echarts from 'echarts'
import 'qweather-icons/font/qweather-icons.css'

//import UrlConfig from '../public/UrlConfig.js'

//引入VueRouter
import VueRouter from 'vue-router'
//引入路由器
import router from './router'
import axios from 'axios'
import store from "@/store/store";

Vue.config.productionTip = false
Vue.use(ElementUI);
Vue.use(VueRouter);
//Vue.prototype.globalUrl = UrlConfig
//配置全局url
axios.defaults.baseURL= VUE_APP_URL.BASE_URL


Vue.prototype.$axios = axios


Vue.directive('preventClick', {
    inserted (el) {
      el.addEventListener('click', () => {
        if (!el.disabled) {
          el.disabled = true
          setTimeout(() => {
            el.disabled = false
          }, 3000)
        }
      })
    }
  })


// 全局路由构造函数，判断是否登录和要跳转到页面
// router.beforeEach((to, from, next) => {
//     if (to.matched.some(m => m.meta.requiresAuth)) {    // 需要登录
//         if (window.localStorage.token || window.localStorage.isLogin === '1') {
//             next()
//         } else if (to.path !== '/login') {
//             let token = window.localStorage.token;
//             const tokenStartTime = window.localStorage.getItem('tokenStartTime')
//             let date = new Date().getTime()
//             //设置过期时间1小时
//             const timeOver = 1000 * 60 * 60
//             if (token === 'null' || token === '' || token === undefined || date - tokenStartTime > timeOver) {
//                 localStorage.clear();
//                 // next({path: '/login'})
//                 next({path: '/login'})
//                 // Toast({ message: '检测到您还未登录,请登录后操作！', duration: 1500 })
//                 console.log('检测到您还未登录或登录过期,请登录后操作！')
//                 this.$message.error('检测到您还未登录或登录过期,请登录后操作！');
//             }
//         } else {
//             next()
//         }
//     } else {   // 不需要登录
//         next()
//     }
// })

axios.interceptors.request.use(
    config => {
      // 如果是登录请求，则不添加 token 头部
    //   if (config.url.includes('/login')) {
    //     return config;
    //   }

      // 否则，添加 token 头部
    //   if (store.state.token) {
    //     config.headers.common['token'] = store.state.token;
    //   }

      return config;
    },
    error => {
      // 对请求错误做什么
      return Promise.reject(error);
    }
  );


// 添加请求拦截器
// axios.interceptors.request.use(
//     config => {
//         if (config.url.includes('/login')) {
//             return config;
//           }

//           // 否则，添加 token 头部
//           if (store.state.token) {
//             config.headers.common['token'] = store.state.token;
//           }

//           return config;
//     },
//     error => {
//         //对请求错误做什么
//         return Promise.reject(error);
//     })

// http reponse响应拦截器
// axios.interceptors.response.use(
//     response => {
//         console.log(response.data)
//         return response;
//     },
//     error => {
//         if (error.response) {
//             switch (error.response.status) {
//                 case 401:
//                     localStorage.removeItem('token');
//                     router.replace({
//                         path: '/login',
//                         query: {redirect: router.currentRoute.fullPath}//登录成功后跳入浏览的当前页面
//                     });
//                 // case 404:
//                 // localStorage.removeItem('')
//                 //   this.$message.error()
//             }
//         }
//     })



new Vue({
    render: h => h(App),
    router: router,
    store: store
}).$mount('#app')
